/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.date.DateUtil
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.ChoiceBox
 *  javafx.scene.control.DatePicker
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.layout.Pane
 *  javafx.scene.layout.VBox
 *  javafx.util.Callback
 *  javafx.util.StringConverter
 *  org.slf4j.Logger
 *  org.slf4j.LoggerFactory
 *  org.springframework.beans.factory.annotation.Autowired
 */
package com.gys.controller.shiftSales;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.common.business.CashPaymentUtil;
import com.gys.common.business.ShiftSalesUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.util.CommonUtil;
import com.gys.common.util.ExcelUtil;
import com.gys.controller.BaseController;
import com.gys.controller.index.IndexController;
import com.gys.data.saleScheduleSetting.GetSaleScheduleOutData;
import com.gys.data.shiftSales.ShiftSalesOutData;
import com.gys.data.shiftSales.shiftSalesInData;
import com.gys.data.user.GetEmpOutData;
import com.gys.data.user.GetLoginOutData;
import de.felixroske.jfxsupport.FXMLController;
import java.net.URL;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

@FXMLController
public class ShiftSalesController
extends BaseController
implements Initializable {
    private static final Logger log = LoggerFactory.getLogger(ShiftSalesController.class);
    @FXML
    private DatePicker date;
    @FXML
    private TableColumn<ShiftSalesOutData, String> saleJobNum;
    @FXML
    private Button queryBtn;
    @FXML
    private VBox vBox;
    @FXML
    private TableView<ShiftSalesOutData> sortInfo;
    @FXML
    private ChoiceBox<String> shift;
    @FXML
    private TableColumn<ShiftSalesOutData, String> visitNum;
    @FXML
    private TableColumn<ShiftSalesOutData, String> index;
    @FXML
    private TableColumn<ShiftSalesOutData, String> saleTotalAmt;
    @FXML
    private TableColumn<ShiftSalesOutData, String> gsshPaymentNo1;
    @FXML
    private TableColumn<ShiftSalesOutData, String> saleDate;
    @FXML
    private TableColumn<ShiftSalesOutData, String> visitUnitPrice;
    @FXML
    private TableColumn<ShiftSalesOutData, String> gsshPaymentNo4;
    @FXML
    private TableColumn<ShiftSalesOutData, String> gsshPaymentNo5;
    @FXML
    private TableColumn<ShiftSalesOutData, String> gsshPaymentNo2;
    @FXML
    private TableColumn<ShiftSalesOutData, String> gsshPaymentNo3;
    @FXML
    private Button printBtn;
    @FXML
    private ChoiceBox<GetEmpOutData> cashier;
    @FXML
    private TableColumn<ShiftSalesOutData, String> saleShift;
    @FXML
    private TableColumn<ShiftSalesOutData, String> cash;
    @FXML
    private Pane modelPane;
    @FXML
    private ScrollPane scrollPane;
    @Autowired
    private IndexController indexController;
    List<GetSaleScheduleOutData> empGroupList = new ArrayList<GetSaleScheduleOutData>();
    List<GetEmpOutData> empList = new ArrayList<GetEmpOutData>();
    private ObservableList<ShiftSalesOutData> shiftSalesOutDataList = FXCollections.observableArrayList(new ArrayList());

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.vBox.setPrefHeight(this.getContentHeight());
        this.sortInfo.setPrefWidth(this.getContentWidth());
        StringConverter converter = CommonUtil.dataPickerFormat("yyyyMMdd");
        this.date.setConverter(converter);
        this.shift.getItems().addAll(this.getAllShift());
        GetLoginOutData inData = new GetLoginOutData();
        HttpJson rsp = CashPaymentUtil.empList(inData);
        if (rsp.isSuccess()) {
            this.empList = JSON.parseArray((String)rsp.getMsg(), GetEmpOutData.class);
            this.cashier.getItems().addAll(this.empList);
            this.cashier.converterProperty().set(new StringConverter<GetEmpOutData>(){

                public String toString(GetEmpOutData object) {
                    return object.getName();
                }

                public GetEmpOutData fromString(String string) {
                    return null;
                }
            });
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
        }
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.scrollPane)) {
            return;
        }
        this.printBtn.setDisable(true);
    }

    @FXML
    void queryAction() {
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "");
        if (ObjectUtil.isEmpty(this.shift.getValue()) && ObjectUtil.isEmpty(this.cashier.getValue()) && ObjectUtil.isEmpty(this.date.getValue())) {
            alert.setContentText("\u5fc5\u987b\u81f3\u5c11\u586b\u5199\u4e00\u9879\u5185\u5bb9\u8fdb\u884c\u67e5\u8be2\uff01");
            alert.showAndWait();
            return;
        }
        this.initOutTable();
    }

    @FXML
    public void reset() {
        this.shift.setValue(null);
        this.cashier.setValue(null);
        this.date.setValue(null);
    }

    @FXML
    void printAction() {
        shiftSalesInData inData = new shiftSalesInData();
        if (ObjectUtil.isNotEmpty(this.shift.getValue())) {
            inData.setShift(((String)this.shift.getValue()).trim());
        }
        if (ObjectUtil.isNotEmpty(this.cashier.getValue())) {
            inData.setCashier(((GetEmpOutData)this.cashier.getValue()).getEmpId());
        }
        if (ObjectUtil.isNotEmpty(this.date.getValue())) {
            inData.setDate(DateUtil.format((Date)DateUtil.parse((String)((LocalDate)this.date.getValue()).toString()), (String)"yyyyMMdd"));
        }
        List dataList = null;
        HttpJson rsp = ShiftSalesUtil.getShiftSalesList(inData);
        if (rsp.isSuccess()) {
            dataList = JSON.parseArray((String)rsp.getMsg(), ShiftSalesOutData.class);
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
        }
        List<String> columnName = Arrays.asList("\u5e8f\u53f7", "\u9500\u552e\u65e5\u671f", "\u9500\u552e\u73ed\u6b21", "\u9500\u552e\u5de5\u53f7", "\u9500\u552e\u603b\u989d", "\u73b0\u91d1", "\u94f6\u8054", "\u5fae\u4fe1", "\u652f\u4ed8\u5b9d", "\u533b\u4fdd", "\u50a8\u503c\u5361", "\u6765\u5ba2\u6570", "\u5ba2\u5355\u4ef7");
        List<String> columnId = Arrays.asList("index", "saleDate", "saleShift", "saleJobNum", "saleTotalAmt", "cash", "gsshPaymentNo1", "gsshPaymentNo2", "gsshPaymentNo3", "gsshPaymentNo4", "gsshPaymentNo5", "visitNum", "visitUnitPrice");
        boolean result = ExcelUtil.export("\u73ed\u6b21\u9500\u552e", dataList, columnName, columnId);
        if (result) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5bfc\u51fa\u6210\u529f");
            alert.showAndWait();
        }
    }

    public TableView<ShiftSalesOutData> initOutTable() {
        shiftSalesInData inData = new shiftSalesInData();
        if (ObjectUtil.isNotEmpty(this.shift.getValue())) {
            inData.setShift(((String)this.shift.getValue()).trim());
        }
        if (ObjectUtil.isNotEmpty(this.cashier.getValue())) {
            inData.setCashier(((GetEmpOutData)this.cashier.getValue()).getEmpId());
        }
        if (ObjectUtil.isNotEmpty(this.date.getValue())) {
            inData.setDate(DateUtil.format((Date)DateUtil.parse((String)((LocalDate)this.date.getValue()).toString()), (String)"yyyyMMdd"));
        }
        List dataList = null;
        HttpJson rsp = ShiftSalesUtil.getShiftSalesList(inData);
        if (rsp.isSuccess()) {
            dataList = JSON.parseArray((String)rsp.getMsg(), ShiftSalesOutData.class);
            if (dataList.size() > 0) {
                this.printBtn.setDisable(false);
            }
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
            return new TableView();
        }
        this.shiftSalesOutDataList.clear();
        this.shiftSalesOutDataList = FXCollections.observableArrayList((Collection)dataList);
        this.bingOutTableCell();
        this.sortInfo.setItems(this.shiftSalesOutDataList);
        return this.sortInfo;
    }

    private void bingOutTableCell() {
        this.index.setCellValueFactory((Callback)new PropertyValueFactory(this.index.getId()));
        this.saleDate.setCellValueFactory((Callback)new PropertyValueFactory("saleDate"));
        this.saleShift.setCellValueFactory((Callback)new PropertyValueFactory("saleShift"));
        this.saleJobNum.setCellValueFactory((Callback)new PropertyValueFactory("saleJobNum"));
        this.saleTotalAmt.setCellValueFactory((Callback)new PropertyValueFactory("saleTotalAmt"));
        this.cash.setCellValueFactory((Callback)new PropertyValueFactory("cash"));
        this.gsshPaymentNo1.setCellValueFactory((Callback)new PropertyValueFactory("gsshPaymentNo1"));
        this.gsshPaymentNo2.setCellValueFactory((Callback)new PropertyValueFactory("gsshPaymentNo2"));
        this.gsshPaymentNo3.setCellValueFactory((Callback)new PropertyValueFactory("gsshPaymentNo3"));
        this.gsshPaymentNo4.setCellValueFactory((Callback)new PropertyValueFactory("gsshPaymentNo4"));
        this.gsshPaymentNo5.setCellValueFactory((Callback)new PropertyValueFactory("gsshPaymentNo5"));
        this.visitNum.setCellValueFactory((Callback)new PropertyValueFactory("visitNum"));
        this.visitUnitPrice.setCellValueFactory((Callback)new PropertyValueFactory("visitUnitPrice"));
    }

    private List<String> getAllShift() {
        ArrayList<String> list = new ArrayList<String>();
        list.add("\u65e9\u73ed");
        list.add("\u4e2d\u73ed");
        list.add("\u665a\u73ed");
        list.add("\u901a\u73ed");
        return list;
    }

    public DatePicker getDate() {
        return this.date;
    }

    public TableColumn<ShiftSalesOutData, String> getSaleJobNum() {
        return this.saleJobNum;
    }

    public Button getQueryBtn() {
        return this.queryBtn;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public TableView<ShiftSalesOutData> getSortInfo() {
        return this.sortInfo;
    }

    public ChoiceBox<String> getShift() {
        return this.shift;
    }

    public TableColumn<ShiftSalesOutData, String> getVisitNum() {
        return this.visitNum;
    }

    public TableColumn<ShiftSalesOutData, String> getIndex() {
        return this.index;
    }

    public TableColumn<ShiftSalesOutData, String> getSaleTotalAmt() {
        return this.saleTotalAmt;
    }

    public TableColumn<ShiftSalesOutData, String> getGsshPaymentNo1() {
        return this.gsshPaymentNo1;
    }

    public TableColumn<ShiftSalesOutData, String> getSaleDate() {
        return this.saleDate;
    }

    public TableColumn<ShiftSalesOutData, String> getVisitUnitPrice() {
        return this.visitUnitPrice;
    }

    public TableColumn<ShiftSalesOutData, String> getGsshPaymentNo4() {
        return this.gsshPaymentNo4;
    }

    public TableColumn<ShiftSalesOutData, String> getGsshPaymentNo5() {
        return this.gsshPaymentNo5;
    }

    public TableColumn<ShiftSalesOutData, String> getGsshPaymentNo2() {
        return this.gsshPaymentNo2;
    }

    public TableColumn<ShiftSalesOutData, String> getGsshPaymentNo3() {
        return this.gsshPaymentNo3;
    }

    public Button getPrintBtn() {
        return this.printBtn;
    }

    public ChoiceBox<GetEmpOutData> getCashier() {
        return this.cashier;
    }

    public TableColumn<ShiftSalesOutData, String> getSaleShift() {
        return this.saleShift;
    }

    public TableColumn<ShiftSalesOutData, String> getCash() {
        return this.cash;
    }

    public Pane getModelPane() {
        return this.modelPane;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public List<GetSaleScheduleOutData> getEmpGroupList() {
        return this.empGroupList;
    }

    public List<GetEmpOutData> getEmpList() {
        return this.empList;
    }

    public ObservableList<ShiftSalesOutData> getShiftSalesOutDataList() {
        return this.shiftSalesOutDataList;
    }

    public void setDate(DatePicker date) {
        this.date = date;
    }

    public void setSaleJobNum(TableColumn<ShiftSalesOutData, String> saleJobNum) {
        this.saleJobNum = saleJobNum;
    }

    public void setQueryBtn(Button queryBtn) {
        this.queryBtn = queryBtn;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setSortInfo(TableView<ShiftSalesOutData> sortInfo) {
        this.sortInfo = sortInfo;
    }

    public void setShift(ChoiceBox<String> shift) {
        this.shift = shift;
    }

    public void setVisitNum(TableColumn<ShiftSalesOutData, String> visitNum) {
        this.visitNum = visitNum;
    }

    public void setIndex(TableColumn<ShiftSalesOutData, String> index) {
        this.index = index;
    }

    public void setSaleTotalAmt(TableColumn<ShiftSalesOutData, String> saleTotalAmt) {
        this.saleTotalAmt = saleTotalAmt;
    }

    public void setGsshPaymentNo1(TableColumn<ShiftSalesOutData, String> gsshPaymentNo1) {
        this.gsshPaymentNo1 = gsshPaymentNo1;
    }

    public void setSaleDate(TableColumn<ShiftSalesOutData, String> saleDate) {
        this.saleDate = saleDate;
    }

    public void setVisitUnitPrice(TableColumn<ShiftSalesOutData, String> visitUnitPrice) {
        this.visitUnitPrice = visitUnitPrice;
    }

    public void setGsshPaymentNo4(TableColumn<ShiftSalesOutData, String> gsshPaymentNo4) {
        this.gsshPaymentNo4 = gsshPaymentNo4;
    }

    public void setGsshPaymentNo5(TableColumn<ShiftSalesOutData, String> gsshPaymentNo5) {
        this.gsshPaymentNo5 = gsshPaymentNo5;
    }

    public void setGsshPaymentNo2(TableColumn<ShiftSalesOutData, String> gsshPaymentNo2) {
        this.gsshPaymentNo2 = gsshPaymentNo2;
    }

    public void setGsshPaymentNo3(TableColumn<ShiftSalesOutData, String> gsshPaymentNo3) {
        this.gsshPaymentNo3 = gsshPaymentNo3;
    }

    public void setPrintBtn(Button printBtn) {
        this.printBtn = printBtn;
    }

    public void setCashier(ChoiceBox<GetEmpOutData> cashier) {
        this.cashier = cashier;
    }

    public void setSaleShift(TableColumn<ShiftSalesOutData, String> saleShift) {
        this.saleShift = saleShift;
    }

    public void setCash(TableColumn<ShiftSalesOutData, String> cash) {
        this.cash = cash;
    }

    public void setModelPane(Pane modelPane) {
        this.modelPane = modelPane;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public void setEmpGroupList(List<GetSaleScheduleOutData> empGroupList) {
        this.empGroupList = empGroupList;
    }

    public void setEmpList(List<GetEmpOutData> empList) {
        this.empList = empList;
    }

    public void setShiftSalesOutDataList(ObservableList<ShiftSalesOutData> shiftSalesOutDataList) {
        this.shiftSalesOutDataList = shiftSalesOutDataList;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof ShiftSalesController)) {
            return false;
        }
        ShiftSalesController other = (ShiftSalesController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        DatePicker this$date = this.getDate();
        DatePicker other$date = other.getDate();
        if (this$date == null ? other$date != null : !this$date.equals(other$date)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$saleJobNum = this.getSaleJobNum();
        TableColumn<ShiftSalesOutData, String> other$saleJobNum = other.getSaleJobNum();
        if (this$saleJobNum == null ? other$saleJobNum != null : !this$saleJobNum.equals(other$saleJobNum)) {
            return false;
        }
        Button this$queryBtn = this.getQueryBtn();
        Button other$queryBtn = other.getQueryBtn();
        if (this$queryBtn == null ? other$queryBtn != null : !this$queryBtn.equals(other$queryBtn)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        TableView<ShiftSalesOutData> this$sortInfo = this.getSortInfo();
        TableView<ShiftSalesOutData> other$sortInfo = other.getSortInfo();
        if (this$sortInfo == null ? other$sortInfo != null : !this$sortInfo.equals(other$sortInfo)) {
            return false;
        }
        ChoiceBox<String> this$shift = this.getShift();
        ChoiceBox<String> other$shift = other.getShift();
        if (this$shift == null ? other$shift != null : !this$shift.equals(other$shift)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$visitNum = this.getVisitNum();
        TableColumn<ShiftSalesOutData, String> other$visitNum = other.getVisitNum();
        if (this$visitNum == null ? other$visitNum != null : !this$visitNum.equals(other$visitNum)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$index = this.getIndex();
        TableColumn<ShiftSalesOutData, String> other$index = other.getIndex();
        if (this$index == null ? other$index != null : !this$index.equals(other$index)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$saleTotalAmt = this.getSaleTotalAmt();
        TableColumn<ShiftSalesOutData, String> other$saleTotalAmt = other.getSaleTotalAmt();
        if (this$saleTotalAmt == null ? other$saleTotalAmt != null : !this$saleTotalAmt.equals(other$saleTotalAmt)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$gsshPaymentNo1 = this.getGsshPaymentNo1();
        TableColumn<ShiftSalesOutData, String> other$gsshPaymentNo1 = other.getGsshPaymentNo1();
        if (this$gsshPaymentNo1 == null ? other$gsshPaymentNo1 != null : !this$gsshPaymentNo1.equals(other$gsshPaymentNo1)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$saleDate = this.getSaleDate();
        TableColumn<ShiftSalesOutData, String> other$saleDate = other.getSaleDate();
        if (this$saleDate == null ? other$saleDate != null : !this$saleDate.equals(other$saleDate)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$visitUnitPrice = this.getVisitUnitPrice();
        TableColumn<ShiftSalesOutData, String> other$visitUnitPrice = other.getVisitUnitPrice();
        if (this$visitUnitPrice == null ? other$visitUnitPrice != null : !this$visitUnitPrice.equals(other$visitUnitPrice)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$gsshPaymentNo4 = this.getGsshPaymentNo4();
        TableColumn<ShiftSalesOutData, String> other$gsshPaymentNo4 = other.getGsshPaymentNo4();
        if (this$gsshPaymentNo4 == null ? other$gsshPaymentNo4 != null : !this$gsshPaymentNo4.equals(other$gsshPaymentNo4)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$gsshPaymentNo5 = this.getGsshPaymentNo5();
        TableColumn<ShiftSalesOutData, String> other$gsshPaymentNo5 = other.getGsshPaymentNo5();
        if (this$gsshPaymentNo5 == null ? other$gsshPaymentNo5 != null : !this$gsshPaymentNo5.equals(other$gsshPaymentNo5)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$gsshPaymentNo2 = this.getGsshPaymentNo2();
        TableColumn<ShiftSalesOutData, String> other$gsshPaymentNo2 = other.getGsshPaymentNo2();
        if (this$gsshPaymentNo2 == null ? other$gsshPaymentNo2 != null : !this$gsshPaymentNo2.equals(other$gsshPaymentNo2)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$gsshPaymentNo3 = this.getGsshPaymentNo3();
        TableColumn<ShiftSalesOutData, String> other$gsshPaymentNo3 = other.getGsshPaymentNo3();
        if (this$gsshPaymentNo3 == null ? other$gsshPaymentNo3 != null : !this$gsshPaymentNo3.equals(other$gsshPaymentNo3)) {
            return false;
        }
        Button this$printBtn = this.getPrintBtn();
        Button other$printBtn = other.getPrintBtn();
        if (this$printBtn == null ? other$printBtn != null : !this$printBtn.equals(other$printBtn)) {
            return false;
        }
        ChoiceBox<GetEmpOutData> this$cashier = this.getCashier();
        ChoiceBox<GetEmpOutData> other$cashier = other.getCashier();
        if (this$cashier == null ? other$cashier != null : !this$cashier.equals(other$cashier)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$saleShift = this.getSaleShift();
        TableColumn<ShiftSalesOutData, String> other$saleShift = other.getSaleShift();
        if (this$saleShift == null ? other$saleShift != null : !this$saleShift.equals(other$saleShift)) {
            return false;
        }
        TableColumn<ShiftSalesOutData, String> this$cash = this.getCash();
        TableColumn<ShiftSalesOutData, String> other$cash = other.getCash();
        if (this$cash == null ? other$cash != null : !this$cash.equals(other$cash)) {
            return false;
        }
        Pane this$modelPane = this.getModelPane();
        Pane other$modelPane = other.getModelPane();
        if (this$modelPane == null ? other$modelPane != null : !this$modelPane.equals(other$modelPane)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        List<GetSaleScheduleOutData> this$empGroupList = this.getEmpGroupList();
        List<GetSaleScheduleOutData> other$empGroupList = other.getEmpGroupList();
        if (this$empGroupList == null ? other$empGroupList != null : !(this$empGroupList).equals(other$empGroupList)) {
            return false;
        }
        List<GetEmpOutData> this$empList = this.getEmpList();
        List<GetEmpOutData> other$empList = other.getEmpList();
        if (this$empList == null ? other$empList != null : !(this$empList).equals(other$empList)) {
            return false;
        }
        ObservableList<ShiftSalesOutData> this$shiftSalesOutDataList = this.getShiftSalesOutDataList();
        ObservableList<ShiftSalesOutData> other$shiftSalesOutDataList = other.getShiftSalesOutDataList();
        return !(this$shiftSalesOutDataList == null ? other$shiftSalesOutDataList != null : !this$shiftSalesOutDataList.equals(other$shiftSalesOutDataList));
    }

    protected boolean canEqual(Object other) {
        return other instanceof ShiftSalesController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        DatePicker $date = this.getDate();
        result = result * 59 + ($date == null ? 43 : $date.hashCode());
        TableColumn<ShiftSalesOutData, String> $saleJobNum = this.getSaleJobNum();
        result = result * 59 + ($saleJobNum == null ? 43 : $saleJobNum.hashCode());
        Button $queryBtn = this.getQueryBtn();
        result = result * 59 + ($queryBtn == null ? 43 : $queryBtn.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        TableView<ShiftSalesOutData> $sortInfo = this.getSortInfo();
        result = result * 59 + ($sortInfo == null ? 43 : $sortInfo.hashCode());
        ChoiceBox<String> $shift = this.getShift();
        result = result * 59 + ($shift == null ? 43 : $shift.hashCode());
        TableColumn<ShiftSalesOutData, String> $visitNum = this.getVisitNum();
        result = result * 59 + ($visitNum == null ? 43 : $visitNum.hashCode());
        TableColumn<ShiftSalesOutData, String> $index = this.getIndex();
        result = result * 59 + ($index == null ? 43 : $index.hashCode());
        TableColumn<ShiftSalesOutData, String> $saleTotalAmt = this.getSaleTotalAmt();
        result = result * 59 + ($saleTotalAmt == null ? 43 : $saleTotalAmt.hashCode());
        TableColumn<ShiftSalesOutData, String> $gsshPaymentNo1 = this.getGsshPaymentNo1();
        result = result * 59 + ($gsshPaymentNo1 == null ? 43 : $gsshPaymentNo1.hashCode());
        TableColumn<ShiftSalesOutData, String> $saleDate = this.getSaleDate();
        result = result * 59 + ($saleDate == null ? 43 : $saleDate.hashCode());
        TableColumn<ShiftSalesOutData, String> $visitUnitPrice = this.getVisitUnitPrice();
        result = result * 59 + ($visitUnitPrice == null ? 43 : $visitUnitPrice.hashCode());
        TableColumn<ShiftSalesOutData, String> $gsshPaymentNo4 = this.getGsshPaymentNo4();
        result = result * 59 + ($gsshPaymentNo4 == null ? 43 : $gsshPaymentNo4.hashCode());
        TableColumn<ShiftSalesOutData, String> $gsshPaymentNo5 = this.getGsshPaymentNo5();
        result = result * 59 + ($gsshPaymentNo5 == null ? 43 : $gsshPaymentNo5.hashCode());
        TableColumn<ShiftSalesOutData, String> $gsshPaymentNo2 = this.getGsshPaymentNo2();
        result = result * 59 + ($gsshPaymentNo2 == null ? 43 : $gsshPaymentNo2.hashCode());
        TableColumn<ShiftSalesOutData, String> $gsshPaymentNo3 = this.getGsshPaymentNo3();
        result = result * 59 + ($gsshPaymentNo3 == null ? 43 : $gsshPaymentNo3.hashCode());
        Button $printBtn = this.getPrintBtn();
        result = result * 59 + ($printBtn == null ? 43 : $printBtn.hashCode());
        ChoiceBox<GetEmpOutData> $cashier = this.getCashier();
        result = result * 59 + ($cashier == null ? 43 : $cashier.hashCode());
        TableColumn<ShiftSalesOutData, String> $saleShift = this.getSaleShift();
        result = result * 59 + ($saleShift == null ? 43 : $saleShift.hashCode());
        TableColumn<ShiftSalesOutData, String> $cash = this.getCash();
        result = result * 59 + ($cash == null ? 43 : $cash.hashCode());
        Pane $modelPane = this.getModelPane();
        result = result * 59 + ($modelPane == null ? 43 : $modelPane.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        List<GetSaleScheduleOutData> $empGroupList = this.getEmpGroupList();
        result = result * 59 + ($empGroupList == null ? 43 : ($empGroupList).hashCode());
        List<GetEmpOutData> $empList = this.getEmpList();
        result = result * 59 + ($empList == null ? 43 : ($empList).hashCode());
        ObservableList<ShiftSalesOutData> $shiftSalesOutDataList = this.getShiftSalesOutDataList();
        result = result * 59 + ($shiftSalesOutDataList == null ? 43 : $shiftSalesOutDataList.hashCode());
        return result;
    }

    public String toString() {
        return "ShiftSalesController(date=" + this.getDate() + ", saleJobNum=" + this.getSaleJobNum() + ", queryBtn=" + this.getQueryBtn() + ", vBox=" + this.getVBox() + ", sortInfo=" + this.getSortInfo() + ", shift=" + this.getShift() + ", visitNum=" + this.getVisitNum() + ", index=" + this.getIndex() + ", saleTotalAmt=" + this.getSaleTotalAmt() + ", gsshPaymentNo1=" + this.getGsshPaymentNo1() + ", saleDate=" + this.getSaleDate() + ", visitUnitPrice=" + this.getVisitUnitPrice() + ", gsshPaymentNo4=" + this.getGsshPaymentNo4() + ", gsshPaymentNo5=" + this.getGsshPaymentNo5() + ", gsshPaymentNo2=" + this.getGsshPaymentNo2() + ", gsshPaymentNo3=" + this.getGsshPaymentNo3() + ", printBtn=" + this.getPrintBtn() + ", cashier=" + this.getCashier() + ", saleShift=" + this.getSaleShift() + ", cash=" + this.getCash() + ", modelPane=" + this.getModelPane() + ", scrollPane=" + this.getScrollPane() + ", indexController=" + this.getIndexController() + ", empGroupList=" + this.getEmpGroupList() + ", empList=" + this.getEmpList() + ", shiftSalesOutDataList=" + this.getShiftSalesOutDataList() + ")";
    }
}

